
class Solution662 {
//     Queue<Tom> queue = new LinkedList<>() ;
//     int width = 0 ;
//    public int widthOfBinaryTree(TreeNode root) {
//         queue.add(new Tom(root , 1)) ;
//          order() ;
//          return width ;
//    }
//    private void order(){
//       if(queue.isEmpty()) return ;
//       int left = 0 ;
//       int right = 0 ;
//       int size = queue.size() ;
//       int tmp = size ;
//       while(size > 0){
//         Tom  ret = queue.poll() ;
//         int index = ret.index ;
//         if(size == tmp){
//            left = index ;
//         }
//         if(size == 1){
//           right = index ;
//         }
//         TreeNode node = ret.node ;
//         if(node.left != null){
//            queue.add(new Tom(node.left ,index*2 ));
//         }
//         if(node.right != null){
//            queue.add(new Tom(node.right , index*2+1)) ;
//         }
//         size -- ;
//       }
//       width = Math.max(width , right-left+1) ;
//       order() ;
//    }
//
//    class Tom{
//        TreeNode node ;
//        int index ;
//        Tom(TreeNode node , int index){
//            super() ;
//        this.node = node ;
//        this.index = index ;
//        }
//    }
}